The pervasiveness of computers and other processor-based devices has resulted in data proliferation such that vast amounts of digital data are created and stored daily. Technology advancements and cost reductions over time have enabled computers and other electronic devices to become commonplace in the lives of most everyone. Enterprises employ computers to collect and analyze sales data, for example. Individuals interact with a number of devices including home computers, laptops, and mobile devices. As a consequence of computer ubiquity, an enormous quantity of digital data is generated daily by both enterprises and individuals.
Traditionally, a database management system (DBMS) is employed to manage interaction with database data. The DBMS efficiently manages requests or queries from users and programs so that these entities are free from having to know specifics pertaining to how and where data is physically stored. Furthermore, in handling requests, the DBMS ensures integrity and security with respect to the data. The most common DBMS is a relational database management system (RDBMS). In this system, data is stored in a tabular format wherein data resides at intersections of rows and columns.
With the advent and growing popularity of the Internet and other networking technologies, various other structured data languages or formats have been developed to facilitate storing and sharing of information across different technology systems. One such language is XML (eXtensible Markup Language), which is a standard language that allows entities and/or groups to share information in a convenient fashion.
Each data storage technology includes mechanisms for querying or retrieving data. For relational databases, SQL (Structured Query Language), a set-based declarative language, can be employed to create, update, and acquire relational data. For example, to retrieve data from a table the following SQL syntax can be specified: “SELECT column_name(s) FROM table_name.” The result is a table of rows from the identified table including designated column names. XML data is formatted, queried and/or transformed utilizing XML dedicated technologies such as XSLT (eXtensible Stylesheet Language Transformations), XQuery and/or XPath.
One useful query mechanism for data sources is grouping in which data elements are defined as members of a particular collection or group. In this manner, grouping provides a convenient structuring mechanism. In the context of aggregation (e.g., sum, average, minimum, maximum . . . ), for instance, grouping enables specification of a specific subset of data over which an aggregate function is to be applied.